$(document).ready(function(){
	
	//transforma o formulário em um wizard
	var wizardObj = wizard($("form").attr("id"),"cursoes",false);
	//criando os editores de texto
    $('textarea').wysiwyg();
//	{
//	toolbar:[
//						['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink'],
//						['UIColor']
//	]
//}
	
	//mascaras
//	$("#cep").mask("99.999-999", {placeholder:"_"});
//	$("#telefoneInstituicao").mask("(99) 9999-9999", {placeholder:"_"});	
    
	//datepickers
//	datePicker("dataPosseResponsavelI");
//	$( "#dataPosseResponsavelI" ).datepicker( "option", "dateFormat", "dd/m/yy");
	
	//carrega os combo box
//	loadToComboBox("#estado",estadoDataSource,"uf");
	loadToComboBox("#ramoSegurancaPublica",ramoSegurancaPublicaDataSource,"nome");
//	loadToComboBox("#ramoSegurancaPublicaAtividades",ramoSegurancaPublicaDataSource,"nome");

	loadToComboBoxUrl("#perfisDesejados","perfildesejadoes/combo/descricao?class=br.com.educa.modelo.curso.PerfilDesejado","descricao");
	loadToComboBoxUrl("#formularioSolicitacao","solicitacaocapacitacaos/combo/id?class=br.com.educa.modelo.curso.SolicitacaoCapacitacao&methodName=findSolicitacaoCapacitacaosByStatus&status=Aberto","id");
	loadToComboBoxUrl("#disciplina","disciplinas/combo/nome?class=br.com.educa.modelo.curso.Disciplina&methodName=findDisciplinasByDeletadoNot&deletado=true","nome");
//	loadToComboBoxUrl("#responsavelSessao","pessoas?find=ByTipoCadastroPessoa&tipoCadastroPessoa=Sigen","nome");

	//combobox dependentes
//	$("#estado").change(function(event){ loadToSubcombo(event,'#municipio','municipios?find=ByEstado&estado=','nome'); });
	$("#ramoSegurancaPublica").change(function(event){ loadToSubcombo(event,'#publicoAlvoCursos','graduacaocargoes/combo/nome?class=br.com.educa.modelo.publico.GraduacaoCargo&methodName=findGraduacaoCargoesByRamoSegurancaPublica&ramoSegurancaPublica=','nome'); }); 
	
	//define as colunas do um para muitos
	//Perfis desejados
	var perfisDesejadosAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
											{"sTitle": "Perfis", "mDataProp": "descricao", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridPerfisDesejados", JSON.stringify(perfisDesejadosAoColumns));
	$("#adicionarPerfisDesejadosBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("perfisDesejados", "dataGridPerfisDesejados");
		return false;
	});
	//Público alvo
	var publicoAlvoCursosAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
                                        	{"sTitle": "Ramo da SSP", "mDataProp": "ramoSegurancaPublica.nome", "sWidth": "100px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Público", "mDataProp": "nome", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridPublicoAlvoCursos", JSON.stringify(publicoAlvoCursosAoColumns));
	$("#adicionarPublicoAlvoCursosBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("publicoAlvoCursos", "dataGridPublicoAlvoCursos");
		return false;
	});
	//Técnicas
	var tecnicasAoColumns = [
                                        	{"sTitle": "Dimensões do conhecimento", "mDataProp": "dimensoesConhecimento", "sWidth": "100px", "bVisible": true, "sDefaultContent":""},
											{"sTitle": "Descricao", "mDataProp": "descricao", "sWidth": "150px", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridTecnicas", JSON.stringify(tecnicasAoColumns));
	$("#adicionarTecnicasBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoFormParaDatagrid("tecnicas", "dataGridTecnicas");
		return false;
	});
	//Disciplinas
	var disciplinasAoColumns = [
                                        	{"sTitle": "Id", "mDataProp": "id", "bVisible": false, "sDefaultContent":""},
                                        	{"sTitle": "Disciplina", "mDataProp": "nome", "bVisible": true, "sDefaultContent":""}
										];
	oneToMany("dataGridDisciplina", JSON.stringify(disciplinasAoColumns));
	$("#adicionarDisciplinaBtn").button({icons: {primary: "ui-icon-plusthick"}, text: false}).click(
	function(){
		adicionarDoComboParaDatagrid("disciplina", "dataGridDisciplina");
		return false;
	});
	
});

function popular(){
    registro = $("#"+$("form").attr("id")).formParams(false);
	//var myDate = new Date();
	//var displayDate = (myDate.getMonth()+1) + '/' + (myDate.getDate()) + '/' + myDate.getFullYear();    
	
	$("select").each(function(){
		try{ 
			eval("registro."+$(this).attr("id")+" = findDataId(registro."+$(this).attr("id")+".id, $(\"#"+$(this).attr("id")+"\").get(0).dataSource);");
		}catch(e){}
	});

	if($("#deletado").val() == "true"){
		registro.deletado = true;
	}else{
		registro.deletado = false;
	}
	
	//criar a data de inserção
	if(registro.id == null){
		var dia = new Date();
		registro.dataCadastro = dia.getDate()+"/"+dia.getMonth()+"/"+dia.getFullYear();
	}
	
	if($("#estrategiaConceitual").is(':checked')) registro.estrategiaConceitual = true; else registro.estrategiaConceitual = false; 
	if($("#estrategiaProcedimental").is(':checked')) registro.estrategiaProcedimental = true; else registro.estrategiaProcedimental = false;
	if($("#estrategiaAtitudinal").is(':checked')) registro.estrategiaAtitudinal = true; else registro.estrategiaAtitudinal = false;

//	//oneToMany
	delete registro.disciplina;
	registro.disciplina = serializarDataGrid("dataGridDisciplina");	
    
	delete registro.publicoAlvoCursos;
	registro.publicoAlvoCursos = serializarDataGrid("dataGridPublicoAlvoCursos");

	delete registro.perfisDesejados;
	registro.perfisDesejados = serializarDataGrid("dataGridPerfisDesejados");
	
	delete registro.tecnicas;
	registro.tecnicas = serializarDataGrid("dataGridTecnicas");
	
	return registro;
}

